/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package cz.muni.fi.pa165.dundd.dao;

import cz.muni.fi.pa165.dundd.entity.HeroRole;
import java.util.List;

/**
 * Interface defines the available methods
 *
 * @author xkonval
 */
public interface HeroRoleDAO {

    /**
     * Creates an instance of the input object in the database
     *
     * @param role
     */
    public void createRole(HeroRole role);

    /**
     * Updates the object in the database
     *
     * @param role
     */
    public void updateRole(HeroRole role);

    /**
     * Deletes the object from the database
     *
     * @param role
     */
    public void deleteRole(HeroRole role);

    /**
     * Returns the {@link HeroRole} with the given ID
     *
     * @param id
     * @return the found entity instance or null if it does not exist
     */
    public HeroRole retrieveRoleById(long id);

    /**
     * Returns a {@code List} of {@link HeroRole} entities in the database
     */
    public List<HeroRole> retrieveAllRoles();
}
